# 1、定义好班级同学人员列表，让同学们互送礼物，要求：不能自己送自己，随机送礼，一个人只能收一份礼物。
# 定义好人员名单，循环送礼物的人，随机挑选一个收礼物的，最终打印送礼和收礼的关系

# import random
#
# classmates = ['Tom', 'Jerry', 'Alice', 'Bob', 'Lily', 'John'] # 定义班级同学名单
#
# gifts = {}    # 为每个同学随机分配一个收礼物的同学
# for giver in classmates:
#     receiver = random.choice([c for c in classmates if c != giver and c not in gifts.values()])
#     gifts[giver] = receiver
#
# for giver, receiver in gifts.items():   # 打印送礼和收礼的关系
#     print(f'{giver}送给了{receiver}一个礼物')



# 2、定义一个字典，将字典里面的整数相加，最终打印哪些key相加，它们相加的值是多少。

# my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}  # 定义了一个字典
# sum_dict = {}
# total_sum = 0                           # 用于存储累加的总和
#
# for key, value in my_dict.items():      # 遍历 my_dict 中的每个键值对，将其值加到 total_sum 中
#     total_sum += value
#     if total_sum in sum_dict.values():  # 检查 total_sum 是否已经出现过
#         for k, v in sum_dict.items():
#             if v == total_sum:
#                 print("Keys: ", k, " and ", key, " add up to ", total_sum)
#     sum_dict[key] = total_sum


# 3、定义一个列表，里面全部存放整数类型，输出列表中的最大值、最小值、和、平均值。

# my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   # 定义了一个列表
# a_max = max(my_list)                 # 最大值
# b_min = min(my_list)                 # 最小值
# c_sum = sum(my_list)                 # 和
# d = c_sum / len(my_list)             # 平均值
#
# print("最大值是: ", a_max)
# print("最小值是: ", b_min)
# print("和是: ", c_sum)
# print("平均值是: ", d)


# 4、使用python实现ls命令，接受从键盘输入的文件路径，如果路径是文件夹，打印路径下有哪些文件或文件夹。如果路径是文件，就只输出当前文件本身。

# import os
#
# path = input("请输入文件或文件夹路径：")
#
# if os.path.isfile(path):            # 如果是文件  --os.path.isfile() 函数判断该路径是否是一个文件
#     print(path)
# elif os.path.isdir(path):           # 如果是文件夹   --os.path.isdir() 函数判断该路径是否是一个文件夹
#     file_list = os.listdir(path)    # 获取文件夹下所有文件和文件夹的名称
#     for file in file_list:
#         print(file)
# else:
#     print("输入的路径不正确，请重新输入！")

